Skip to content

feat: add Vietnamese translation support for exercise instructions#18

Closed
vucongchien wants to merge 26 commits into
hasaneyldrm:mainfrom
vucongchien:feat/vietnamese-support
Closed

feat: add Vietnamese translation support for exercise instructions#18
vucongchien wants to merge 26 commits into
hasaneyldrm:mainfrom
vucongchien:feat/vietnamese-support

Conversation

@vucongchien

Copy link
Copy Markdown

Summary

This Pull Request adds full Vietnamese (VI) translation support for all 1,324 exercises in the dataset. It updates the raw JSON database, the interactive browser interface (index.html), the developer setup wizard (setup.html), and the project documentation (README.md).


Translation Methodology & Quality Assurance

Unlike standard machine translations, which often fail to parse fitness-specific jargon correctly (e.g., mistranslating terms like curl, press, row, lats, or calves), every single one of the 1,324 exercises has been manually reviewed and cross-checked line-by-line to ensure accurate Vietnamese fitness terminology. We have carefully verified that:

  • Core verbs and movements are translated naturally and professionally.
  • Step-by-step numbers align perfectly with the original English instructions.
  • The translation is formatted correctly as a native extension of the current schema, preserving backward compatibility.

We hope this contribution makes this great resource even more useful for the Vietnamese developer and fitness community!


Detailed Changes

1. Dataset Update

  • data/exercises.json:
    • Added instructions.vi (full text instructions in Vietnamese) and instruction_steps.vi (step-by-step array of Vietnamese strings) to all 1,324 exercise records.

2. Interactive Browser (index.html)

  • Added the Tiếng Việt tab to the modal details panel.
  • Updated the inline EXERCISES dataset to incorporate the Vietnamese translations.
  • Updated the SQL Script generator to support exporting the new instructions_vi column.

3. Developer Setup Wizard (setup.html)

  • Added instructions_vi columns (as TEXT/NVARCHAR) to all table creation templates (CREATE TABLE for MSSQL, PostgreSQL, MySQL, and SQLite).
  • Updated the SQL generator script to include Vietnamese instruction values in generated INSERT INTO queries.

4. Documentation (README.md)

  • Updated the language statistics to show support for 7 languages.
  • Documented the schema details for instructions.vi.
  • Added Python, JavaScript/Node.js, and TypeScript code examples showing how to access and query the Vietnamese translations.

Verification and Testing

We ran an automated integrity script to validate the updated dataset:

  • Checked all 1,324 exercises for schema compliance.
  • Ensured zero JSON syntax errors.
  • Verified that the number of step items in instruction_steps.vi matches instruction_steps.en exactly for every exercise.
  • Results: 1324/1324 exercises verified. 0 errors, 0 step mismatches.

Gnu/Linux and Windows browser testing has also been performed on index.html and setup.html to confirm that tab-switching and SQL generation work perfectly.

hasaneyldrm and others added 26 commits March 18, 2026 06:07
Made-with: Cursor
…ions, and improve file structure details. Include statistics and sample exercises with corresponding media links.
… enhanced dataset overview, and detailed sections on usage, statistics, and data schema for better user guidance.
…updated README.

- Merged data/exercises.json from community PR (gulbaharr): 433 → 1,324 exercises
- Added 1,547 new thumbnail images to images/
- Added 1,547 new animation GIFs to videos/
- Updated README stats, category/equipment breakdowns, data schema, and code examples
- Excluded api/server.py to preserve offline-first architecture

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…README.

- Removed 1,182 unreferenced files (old .mp4, @3x thumbnails, duplicate hashes)
- images/ and videos/ now exactly match JSON: 1,324 files each
- Updated README header and Sample Exercises with new exercise images/GIFs
- Fixed badge and stat counts to reflect actual file counts (1,324 each)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nce README.

- Ensured images/ and videos/ directories contain matching files for all exercises
- Removed outdated media files and duplicates to streamline dataset
- Updated README to reflect current file structure and exercise media accurately
…t in exercises.json.

- Converted instructions and instruction_steps to include English and Turkish translations for better accessibility.
- Enhanced the structure of the JSON to accommodate multiple languages for each exercise.
- Updated .gitignore to exclude virtual environment and zip files.
- Added a database setup button and overlay in index.html for user-friendly database integration.
- Expanded README to include interactive browser and developer setup instructions, detailing database setup and API integration.
- Adjusted padding and margins for modal and sidebar elements to enhance visual consistency.
- Introduced a responsive design for the exercise grid and sidebar, optimizing for smaller screens.
- Updated muscle tags and group styles for better readability and user experience.
- Added new styles for language tabs to improve navigation and interaction.
Hi Hasan,

First of all, thank you so much for creating this repository and sharing your hard work with the community! It's an incredibly useful dataset.

Since the original data was available in English and Turkish, I wanted to contribute by adding the Italian translation (it.json). I hope this can be helpful for other developers looking to use this resource in Italian.

Thanks again for your great work!
Add Italian translation for exercises
Translate Turkish instruction text to Spanish (instructions.es and
instruction_steps.es) for all 1,324 exercises in data/exercises.json,
using direct LLM translation with a shared glossary for terminology
consistency. Update index.html and setup.html to expose Spanish as a
selectable language tab alongside English and Turkish, including the
embedded DB-setup SQL/insert generators and language schema docs.
Update README to document the new Spanish field across the schema
table, sample record, and code examples.
Italian instructions already existed in data/exercises.json (added in
PR hasaneyldrm#2) but were never wired into the docs or tooling. After merging the
Spanish PR (hasaneyldrm#7), this exposes Italian everywhere alongside en/es/tr:

- README: list Italian in overview, schema, sample record, code examples
- index.html: add 'it' to language tabs (LANG_LABELS + langs) and
  regenerate the embedded EXERCISES blob from exercises.json so the
  viewer carries Italian steps; add instructions_it to SQL schemas +
  INSERT generation
- setup.html: add instructions_it to the 4 SQL schemas, the C# record,
  the LLM prompt field list, and INSERT generation

Data is unchanged; this is docs/UI/SQL only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Full sentence-by-sentence review of all 1324 Spanish translations
(profanity scan + accuracy/terminology check). No profanity or unsafe
content; the rest are accurate. Corrected 5 genuine errors in both
instructions.es and instruction_steps.es (and the embedded copy in
index.html):

- 0809 suspended split squat: "de frente a" -> "de espaldas a"
  (en says "facing away from"; orientation was reversed)
- 2414 barbell standing concentration curl: "mancuerna" -> "barra"
  (en says "barbell", not dumbbell)
- 1576 leg up hamstring stretch: "pantorrilla" -> "espinilla"
  (en "shin" = espinilla, not calf)
- 3548 dumbbell single arm overhead carry: "camina" -> "caminas"
  (tú/usted conjugation consistency)
- 1599 standing hamstring & calf stretch: "la planta del pie" ->
  "la parte anterior de la planta del pie" (en "ball of the foot")

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Collapse the 4 "Instructions (EN/ES/IT/TR)" rows into a single
  "Instructions" + "Available Languages" row with flag icons
- Add a "Data Source & Attribution" section crediting the original
  Fitness Exercises Dataset by omarxadel on Kaggle (data + media), and
  clarify that media is for educational/non-commercial use (license per
  the original Kaggle dataset)
- Link the source from the License section and Table of Contents

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Verified the report in issue hasaneyldrm#5: media filenames embed the original
ExerciseDB v1 exerciseId, those ids resolve on AscendAPI's CDN
(static.exercisedb.dev/media/{id}.gif), and a local GIF is byte-for-byte
identical to the CDN asset. Updated the Data Source & Attribution and
License sections to credit ExerciseDB v1 by AscendAPI as the origin of
the media and base data (Kaggle was an intermediary re-host), and to
spell out what this repo adds on top (ES/IT/TR translations, browser +
setup tooling, cleanup). Credits the reporter and links issue hasaneyldrm#5.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PR hasaneyldrm#9 (@wacko-io) added full Russian instructions for all 1,324
exercises. Document it alongside en/es/it/tr.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-support

feat: add Chinese language support for instructions and SQL export
PR hasaneyldrm#10 added Chinese to most of the README but missed two language
enumerations (additions list + viewer feature line). Surface zh there too.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Drop images/ and videos/ from the repository due to multiple, conflicting
ownership claims over the media. The repo now ships the setup wizard and the
structured, multilingual dataset only.

- exercises.json: set image/gif_url to null, add media_id reference
- README: reframe as setup wizard + dataset, add media notice, drop media embeds/badges

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants